home *** CD-ROM | disk | FTP | other *** search
- /* IConfig.c */
-
-
- #include "IConfig.proto.h"
- #include "ICTypes.h"
- #include "ICAPI.h"
- #include "ICKeys.h"
-
-
- #define kICftpHelper "\pHelper•ftp"
- #define kIChttpHelper "\pHelper•http"
- #define kICgopherHelper "\pHelper•gopher"
- #define kICwaisHelper "\pHelper•wais"
- #define kICtelnetHelper "\pHelper•telnet"
- #define kICtn3270Helper "\pHelper•tn3270"
- #define kICfingerHelper "\pHelper•finger"
- #define kICwhoisHelper "\pHelper•whois"
-
- ICInstance inst;
- Boolean gHaveIC;
-
- char * gICHelperKeys[] = {
- NULL, /* kNotURL*/
- (char *)"\pHelper•mailto",
- (char *)"\pHelper•nntp",
- (char *)"\pHelper•nntp",
- (char *)"\pHelper•ftp",
- (char *)"\pHelper•http",
- (char *)"\pHelper•gopher",
- (char *)"\pHelper•wais",
- NULL, /* we handle telnet URL */
- NULL, /* we handle rlogin URL */
- (char *)"\pHelper•tn3270",
- (char *)"\pHelper•finger",
- (char *)"\pHelper•whois"
- };
-
- void ICUnload(void) { }
- OSType GetHelperInfo(TURLKind urlKind)
- {
- ConstStr255Param key;
- ICError icErr;
- ICAttr attr;
- long size;
- ICAppSpec icAppSpec;
-
- if (!gHaveIC)
- return NULL;
-
- key = (unsigned char *)gICHelperKeys[urlKind];
- if (key == NULL)
- return NULL;
-
- size = sizeof(icAppSpec);
- icErr = ICBegin(inst, icReadOnlyPerm); //we dont touch
-
- icErr |= ICGetPref(inst, key, &attr, (Ptr)&icAppSpec, &size);
-
- icErr |= ICEnd(inst);
- if (icErr == noErr)
- return (icAppSpec.fCreator);
- else
- return (NULL);
- }
- void ICinit(void)
- {
- ICError ICerr;
- ICDirSpecArray folder_spec;
-
- ICerr = ICStart(&inst, 'NCSA'); /* tell it our creator */
-
- folder_spec[0].vRefNum = -1; /* search for prefs in system */
- folder_spec[0].dirID = 2;
- ICerr = ICFindConfigFile(inst, 1, (ICDirSpecArrayPtr) &folder_spec);
- gHaveIC = (ICerr == noErr);
- }
-
- void stopInternetConfig(void)
- {
- ICError ICerr;
- if (gHaveIC)
- ICerr = ICStop(inst);
- }
-